package net.hn.hnms.biz.plan.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 进尺产量执行信息
 *
 * @author ly
 * @since 1.0.0 2022-08-16
 */
@Data
@ApiModel("进尺产量执行信息")
public class ExecutionFootageOutputReq extends BaseReq {

	/**
	* 主键ID
	*/
	@ApiModelProperty(value = "id")
	private String footageExecutionId;

	/**
	* 矿编号
	*/
	@ApiModelProperty(value = "煤矿编号")
	private String mineCode;

	/**
	* 日期
	*/
	@NotNull(message = "请选择日期")
//	@JsonFormat(
//			pattern = "yyyy-MM-dd"
//	)
//	@DateTimeFormat( pattern = "yyyy-MM-dd")
	@ApiModelProperty(value = "日期")
	private LocalDate executionDate;

	/**
	* 班次ID
	*/
	@ApiModelProperty(value = "班次Id")
	@NotBlank(message = "请选择班次")
	private String shiftId;

	/**
	* 工作面类型 0回采工作面1掘进工作面2开拓工作面
	*/
	@ApiModelProperty(value = "工作面类型")
	@NotBlank(message = "请选择工作面类型")
	private String workFaceType;

	/**
	* 工作面ID
	*/
	@ApiModelProperty(value = "工作面ID")
	@NotBlank(message = "请选择工作面")
	private String workFaceId;

	/**
	* 进尺(m)
	*/
	@ApiModelProperty(value = "进尺(m)")
	@Digits(integer = 9, fraction=2, message = "进尺格式不正确")
	@DecimalMin(value = "0.00", message = "进尺格式不正确")
	private BigDecimal footage;

	/**
	 * 开拓(m)
	 */
	@ApiModelProperty(value = "开拓(m)")
	@Digits(integer = 9, fraction=2, message = "开拓格式不正确")
	@DecimalMin(value = "0.00", message = "开拓格式不正确")
	private BigDecimal develop;

	/**
	 * 产量(t)
	 */
	@ApiModelProperty(value = "产量(t)")
	@Digits(integer = 9, fraction=2, message = "产量格式不正确")
	@DecimalMin(value = "0.00", message = "产量格式不正确")
	private BigDecimal output;

	@ApiModelProperty(value = "刀数")
	@Digits(integer = 9, fraction=1, message = "刀数格式不正确")
	@DecimalMin(value = "0.0", message = "刀数格式不正确")
	private BigDecimal knifeQuantity;


	@ApiModelProperty(value = "公司编号")
	private String companyCode;


	@ApiModelProperty(value = "煤矿名称")
	private String mineName;

	@ApiModelProperty(value = "公司名称")
	private String companyName;


	private String monthBeginDate;
	private String monthEndDate;
	private String yearBeginDate;
	private String yearEndDate;
	private String executionDateReq;
	private String type;

}